package com.cloud.service;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.cloud.entity.*;

import java.util.List;

/**
 * @author: cansong
 * @description: 转换任务/任务文件
 * @date: 2020/11/24 12:00
 */
public interface ConvertTaskService {
	/**
	 * 转换任务列表
	 */
	ResultEntity listConvertTask(JSONObject jsonObject);

	/**
	 * 添加转换任务
	 */
	ResultEntity addConvertTask(ConvertTaskEntity taskEntity);

	/**
	 * 修改转换任务
	 */
	ResultEntity updateConvertTask(ConvertTaskEntity taskEntity);

	/**
	 * 添加转换任务文件
	 */
	ResultEntity addConvertTaskFile(ConvertTaskFileEntity convertTaskFileEntity);

	/**
	 * 调用算法服务并保存任务文件
	 */
	ResultEntity newConvertTask(ConvertTaskEntity taskEntity);

	/**
	 * 算法服务回调通知
	 * @param notifyEntitiy
	 * @return
	 */
	ResultEntity taskNotify(AlgorithmNotifyEntitiy notifyEntitiy);

	/**
	 * 条件查询转换任务
	 * @param condition
	 * @return
	 */
	ResultEntity getConvertTaskByCondition(JSONObject condition);

	/**
	 * 根据转换文件获取任务
	 */
	ResultEntity getConvertTaskByTaskFile(JSONObject condition);

	/**
	 * 增加转换任务文件
	 * @param taskFileEntityList
	 * @return
	 */
	ResultEntity addConvertTaskFiles(List<ConvertTaskFileEntity> taskFileEntityList);

	/**
	 * 删除转换任务
	 * @param entity
	 * @return
	 */
	ResultEntity removeConvertTask(ConvertTaskEntity entity);
}
